using System.Collections;
using System.Collections.Generic;
using OneDayModel.Interfaces;

namespace OneDayModel.Model
{
    internal class RoleAttributeEnumerable : IEnumerable<IRoleAttribute>
    {
        private readonly IEnumerable<RawRoleAttribute> rawRoleAttributes;

        public RoleAttributeEnumerable(IEnumerable<RawRoleAttribute> rawRoleAttributes)
        {
            this.rawRoleAttributes = rawRoleAttributes;
        }

        IEnumerator<IRoleAttribute> IEnumerable<RoleAttribute>.GetEnumerator()
        {
            return new RoleAttributeEnumerator(rawRoleAttributes.GetEnumerator());
        }

        public IEnumerator GetEnumerator()
        {
            return ((IEnumerable<IRoleAttribute>) this).GetEnumerator();
        }
    }
}